#ifndef CLIENT_TASK_H
#define CLIENT_TASK_H
#include <stdint.h>
typedef struct {				// 任务信息
	char hostname[64];
	uint16_t port;
	char *filename;
}TCPInfo;

// 定义客户端支持的任务结构
typedef struct {
	char *command;				// 用户输入的前面的字符串
	int (*handler)(TCPInfo *);	// 一旦匹配成功，就执行的函数接口，回调函数
	TCPInfo *info;
	int flags;					// 0 表示不需要参数 list help   1表示要参数 put get
}ClientTask;

#define MAX_RESPONSE_HEADER	128

TCPInfo *createTCPInfo(const char *hostname, uint16_t port, const char *filename);
void releaseTCPInfo(TCPInfo *info);

int clientDownTask(TCPInfo *info);
int clientUploadTask(TCPInfo *info);
int clientListTask(TCPInfo *info);
int clientShowHelp(TCPInfo *info);
#endif
